from Crypto.Util.number import *
from gmpy2 import *

flag = b'DASCTF{xxxxxxxxxxxx}'

p = getPrime(512)
q = getPrime(512)

n = p*q
phi = (p-1)*(q-1)
while e := getRandomInteger(16):
    if gcd(e, phi) == 2:
        break

m = bytes_to_long(flag)
c = powmod(m, e, n)

print('n =', n)
print('e =', e)
print('c =', c)
print('h =', p**2 + q)

'''
n = 116511357060712144099976831158416173670467763509289584801493671983604041910332385046875404384756630045618050783932185923516987202481448148103872447145541170729746402328353998383492261143217680863970590230010586491615247835524208887971058047964672314644549792925412373691164840635424723609445014754830472392209
e = 36526
c = 68566562752091338059697971943044848432167577056994212169182746579664413762856878641964389495160899828612738440047547382833551104203712893527042407485845990546365951293911064224353754617767168257803980890401905329505235528035798742136124001870783107781705890831136037290806374721309719666807958790646103085768
h = 118281503660900552145988262483339393233985528449636132779876616077036147786271012801732196061115583504320630043125553844303439507836838360542594809019689063414521859114811409777400410154808000209258308294888519030043778123024058803886403741431766179429783054411509193156279355605455472548615352680641931274832
'''